MC_MoveAdditive
功能塊 | MC_MoveAdditive | ||
---|---|---|---|
下達一個目標為特定附加位置之運動指令。呼叫此命令時,給定之附加距離將添加於離散運動中最後一個指令位置。指令位置之定義請參考 MC_Source 類型。 | |||
VAR_IN_OUT | |||
B | AxisIn | AXIS_REF | 軸的參考。 |
VAR_INPUT | |||
B | Execute | BOOL | 在上升邊緣開始運動。 |
E | ContinuousUpdate | BOOL | 若為 TRUE,則當功能塊 (FB) 正在執行且參數值正被更新時,FB 將使用新值;若為 FALSE,則 FB 不會使用新值。 |
B | Distance | LREAL | 運動的相對距離(單位)。 |
B | Velocity | LREAL | 最大速度值(非必要到達)[單位/秒] |
E | Acceleration | LREAL | 加速度值,單位由 MC_ProfileType 決定(馬達的增加能源) [單位/每秒2] 或 [每秒]。 |
E | Deceleration | LREAL | 減速度值,單位由 MC_ProfileType 決定(馬達的減少能源) [單位/每秒2] 或 [每秒]。 |
E | Jerk | LREAL | 加加速度值。單位由 MC_ProfileType 決定,為 [單位/每秒3] 或 [每秒]。 |
E | BufferMode | MC_BufferMode | 定義如何融合兩功能塊的速度。 |
VAR_OUTPUT | |||
B | Done | BOOL | 已達到命令距離。 |
E | Busy | BOOL | 功能塊尚未完成且預期將有新的輸出值。 |
E | Active | BOOL | 功能塊正在控制軸。 |
E | CommandAborted | BOOL | 命令被另一個命令中止。 |
B | Error | BOOL | 功能塊中出現錯誤的訊號。 |
E | ErrorID | MC_Error | 錯誤識別。 |
MC_MoveAdditive | ||||||
---|---|---|---|---|---|---|
AXIS_REF | AxisIn | Axis | AXIS_REF | |||
BOOL | Execute | Done | BOOL | |||
BOOL | ContinuousUpdate | Busy | BOOL | |||
LREAL | Distance | Active | BOOL | |||
LREAL | Velocity | CommandAborted | BOOL | |||
LREAL | Acceleration | Error | BOOL | |||
LREAL | Deceleration | ErrorID | MC_Error | |||
LREAL | Jerk | |||||
MC_BufferMode | BufferMode | |||||
下圖兩個範例為軸在離散運動狀態時的功能塊組合:
- 時序圖的左側部分說明了在第一個功能塊 (FB) 之後呼叫第二個功能塊 (FB) 的情況,若 First 到達命令位置 6000(且速度為 0),則輸出 Done 會導致 Second FB 移動位置 4000,將軸的結果位置移到 10000。
- 時序圖的右側部分說明了第二個功能塊 (FB) 在第一個 FB 仍在執行時開始執行的情況,在這種情況下,在 First FB 的恆定速度期間,第一個運動即被 Test 訊號中斷和中止;Second FB 從前一個指令位置 6000 增加距離 4000 並將軸移動至位置 10000。